package mainService.services;

import java.util.ArrayList;
import java.util.Collections;

import mainService.HTTPService;
import mainService.ServiceParams;
import mainService.data.IpClient;
import mainService.data.UsersConnected;

/**
 * Servizio che permette di vedere tutti log di un task nel progetto
 * 
 * @author Mattia Grecchi
 * 
 */

public class LogTaskService extends ReadingServices implements HTTPService {

	public LogTaskService() {
		super();

	}

	static private ArrayList<String> campiXML = new ArrayList<String>();

	static {
		Collections.addAll(campiXML, "id_log", "username", "id_task", "data",
				"hours", "description");
	}

	@Override
	public ArrayList<String> getServiceResult(ServiceParams params) {

		String id_task = params.getValue("task");
		System.out.println(id_task);	
		
		String role = UsersConnected.getUsersConnected().getUtente(IpClient.getSingleton().getIp()).getRuolo();
		String username = UsersConnected.getUsersConnected().getUtente(IpClient.getSingleton().getIp()).getUsername();
		String qry;
		
		// VERIFICA TIPO DI UTENTE
		if (role.equalsIgnoreCase("Project Manager")){
			qry = "SELECT * from logs WHERE id_task='" + id_task + "';"; // RESTITUISCE TUTTI I LOG DI QUEL TASK
		}else{
			qry = "SELECT * from logs WHERE id_task='" + id_task + "' AND username='" + username + "';"; // RESTITUISCE SOLO I LOGS PROPRIETARI
		}
		
		return getResult(qry, campiXML);
	}

}
